package com.haruhinav.mapper;

import com.haruhinav.entity.Message;
import com.haruhinav.entity.vo.ReplyMsgVO;
import com.haruhinav.entity.extend.MessageEX;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
@Mapper
public interface MessageMapper {
//所有留言
    List<Message> getAllMessage();
    //统计总数
    Integer countAllMessage();

//统计总数
    Integer countMessage();

//    统计第一级评论的总数
    Integer countTopOneMsg();
//分页查询
    List<Message> getMessagelimit(MessageEX msgex);

//    插入留言 (返回新数据的主键id)
    int insertMsg(Message message);
//    回复留言 添加
    Integer replyMap(ReplyMsgVO replyMsg);

    //留言+回复 所有第一级级评论 ReplyId为0的数据 分页
    List<Message> getAllTopOneMsg(MessageEX msgex);
    //根据父级id获取回复
    List<ReplyMsgVO> findReplyMsgByReplyId(@Param("replyId") int replyId);
    //根据评论id查询评论
    Message findMessageById(@Param("id")int id);
    //根据源评论id获取评论集合，辨识子评论归属
    List<ReplyMsgVO> findMsgBySourceMid(@Param("smid") int sourceMsgId);

//    删除留言
    int delMsgById(@Param("id") int id);
//根据源id删除留言
    int delMsgBySourceId(@Param("sourceId") int id);
//根据父级id删除
    int delMsgByReplyId(@Param("replyId") int id);


}
